package recyclerview.nodata;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.lib.recyclyeviewmodule.R;


/**
 *
 * 无网无数据控制器
 *
 */
public class LayoutController {

    /** 无数据*/
    private View mView;
    /** 无网*/
    private View noNetView;
//    private ViewGroup container;
//    private static LayoutController instance = null;
//
//    public LayoutController() {
//    }

    /**
     * 单例模式
     * @return
     */
//    public static LayoutController getInstance() {
//        if (instance == null) {
//            synchronized (LayoutController.class) {
//                if (instance == null) {
//                    instance = new LayoutController();
//                }
//            }
//        }
//        return instance;
//    }


    /**
     *设置viewgroup填充数据
     * @param context
     * @param type        布局类型
     * @param listener    单击事件监听器
     * @param ids         单击事件ID
     */
    public void setContainerData(Context context, String type, View.OnClickListener listener, int... ids) {
        if ( ids == null)  return;
        setContainerData(context.getApplicationContext(), type, listener);
        if (mView != null) {
            for (int id : ids) {
                mView.findViewById(id).setOnClickListener(listener);
            }
        }
    }


    /**
     *设置viewgroup填充数据
     * @param context
     * @param type       布局类型
     * @param listener   无网单击事件监听器
     */
    public void setContainerData(final Context context, String type, View.OnClickListener listener) {
        if ( context == null)  return;
        setNoNetView(context,listener);
        switch (type) {
//            case WozaiActivity.TOPICDETAIL://话题详情页
//            case IntentUtils.ALBUM_LIST_NODATA:
//            case IntentUtils.ALBUM_DETAIL_NODATA:
//            case IntentUtils.AUDIO_DETAIL_NODATA:
//                mView = View.inflate(context, R.layout.common_one_raw_center, null);
//                TextView text = (TextView) mView.findViewById(R.id.tv_common_center_onr_raw);
//                RelativeLayout mainLayout = (RelativeLayout) mView.findViewById(R.id.rl_nodata_mainlayout);
//                switch (type) {
//                    case WozaiActivity.TOPICDETAIL:
//                        text.setText("你来晚了，话题已下线！");
//                        break;
//                    case IntentUtils.ALBUM_DETAIL_NODATA:
//                        mainLayout.setBackgroundResource(R.drawable.album_detail_bkg_blur);
//                        text.setText("你来晚了，内容已下线！");
//                        break;
//                    case IntentUtils.AUDIO_DETAIL_NODATA:
//                        mainLayout.setBackgroundResource(R.drawable.album_detail_bkg_blur);
//                        text.setText("声音已失踪，去听听其他内容吧");
//                        break;
//                    default:
//                        break;
//                }
//                break;
//            case IntentUtils.ALBUM_LISTEN_LIST_NODATA://收听的专辑
//                mView = View.inflate(context, R.layout.album_listen_list_nodata, null);
//                TextView textView = (TextView) mView.findViewById(R.id.album_listen_list_nodata_btn);
//                textView.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        Activity activity = (Activity) context;
//                        Intent intent = new Intent(activity, Jm_NomalActivity.class);
//                        IntentUtils.setSubActivityType(intent, IntentCommont.SUB_ACTIVITY_TYPE_RIGHT_SPECIAL);
//                        activity.startActivityForResult(intent,IntentCommont.ALBUM_LISTEN_LIST_ALBUMLIST_RESULTCODE);
//                        IntentUtils.startRightFm((Activity) context);
//                    }
//                });
//                break;
//            case IntentUtils.THEME_DETAIL_NODATA://主题详情
//                mView = View.inflate(context, R.layout.common_one_raw_top, null);
//                TextView nodataText = (TextView) mView.findViewById(R.id.tv_common_center_onr_raw);
//                if (SetUtils.getInstance().isNgiht()) {
//                    nodataText.setTextColor(context.getResources().getColor(R.color.white));
//                } else {
//                    nodataText.setTextColor(context.getResources().getColor(R.color.color_common_all3));
//                }
//                break;
//
//            case IntentUtils.RECEIVEPRAISE:
//            case IntentUtils.MYATTENTIONTOPICTYPE://我关注的话题
//            case IntentUtils.MYCREATETOPICTYPE://我创建的话题
//            case IntentUtils.MYPARTICIPATIONTOPICTYPE://我参与的话题
//                mView = View.inflate(context, R.layout.fragment_topic_all_type_nodata, null);
//                ImageView topImg = (ImageView) mView.findViewById(R.id.iv_topic_list);
//                TextView centerText = (TextView) mView.findViewById(R.id.tv_topic_list);
//                Button bottomButton = (Button) mView.findViewById(R.id.btn_topic_list);
//                switch (type) {
//                    case IntentUtils.RECEIVEPRAISE:
//                        bottomButton.setVisibility(View.GONE);
//                        topImg.setImageResource(R.mipmap.praise_noperson);
//                        centerText.setText("还没有人给您点赞");
//                        break;
//                    case IntentUtils.MYATTENTIONTOPICTYPE:
//                    case IntentUtils.MYCREATETOPICTYPE:
//                        topImg.setImageResource(R.mipmap.topic_list_nolike_nodata);
//                        centerText.setText("还没有感兴趣的话题");
//                        break;
//                    case IntentUtils.MYPARTICIPATIONTOPICTYPE:
//                        topImg.setImageResource(R.mipmap.topic_list_participate_nodata);
//                        centerText.setText("咦？竟然没有参与任何话题...");
//                        break;
//
//                    default:
//                        break;
//                }
//                break;
//            case IntentUtils.MINE_NEWS_TO_LOOK://我的新闻
//                mView = View.inflate(context, R.layout.fragment_mine_news_nodata, null);
//                break;
            default:
                break;
        }
    }

    /**
     * 设置无网布局
     */
    private void setNoNetView(Context context, View.OnClickListener listener) {
        noNetView = View.inflate(context, R.layout.common_no_net, null);
        noNetView.findViewById(R.id.tv_common_no_net).setOnClickListener(listener);
    }

    /**
     * 显示无网布局
     */
    public void showNoNetView(ViewGroup container) {
        if (container == null  || noNetView == null) return;
        container.removeAllViews();
        container.addView(noNetView);
    }

    /**
     * 显示无数据布局
     */
    public void showNoDataView(ViewGroup container) {
        if (container == null || mView == null) return;
        container.removeAllViews();
        container.addView(mView);
    }

    /**
     * 显示正常有数据布局
     */
    public void showNormalView(ViewGroup container) {
        if (container != null){
            container.removeAllViews();
        }
    }

    public View getNoDataView() {
        return mView;
    }

    public View getNoNetView() {
        return noNetView;
    }



}
